//
//  CZMainController.swift
//  SinaWeibo
//
//  Created by 浩记 on 16/3/19.
//  Copyright © 2016年 itcast. All rights reserved.
//

import UIKit
                                            //遵循代理协议
class CZMainController: UITabBarController,CZMainTabBarDelegate {
    //MARK:- viewLifeCycle
    override func viewDidLoad() {
        super.viewDidLoad()
        
        //自定义tabBar,添加加号按钮，按钮不是控制器（UITabelView），没有页面，而只是一个按钮button
        //系统的tabBar是只读的，而不能用＝直接复制，这里要用到kvc设置，键值编码，把属性名称作为健来设值
       let mainTabBar = CZMainTabBar()
        setValue(mainTabBar, forKey: "tabBar")
        
        //创建设置子控制器
        addChildViewController()
        
        //设置代理
        mainTabBar.composeDelegate = self
        
//        tabBar.tintColor = UIColor.orangeColor()//默认图片和文字都是一个颜色     ，如果要文字图片不同颜色就实现不了
    }
     //MARK:- 实现代理方法，响应CZMainTabBar的点击按钮事件
    func mainTabBarComposeClick() {
        let composeVC = CZComposeController()
//        if composeVC.userLogin == false {
//            self.presentViewController(composeVC, animated: true, completion: nil)
//        }else{
            self.presentViewController(UINavigationController(rootViewController: composeVC), animated: true, completion: nil)
//        }
    }
    //MARK:- 设置子控制器
    /**
     创建设置子控制器
     */
    func addChildViewController(){
        /// 首页
        let homeVC = CZHomeViewController()
        addChildViewController(homeVC, title: "首页", imageName: "tabbar_home")
        /// 发现
        let discoverVC = CZDiscoverViewController()
        addChildViewController(discoverVC, title: "发现", imageName: "tabbar_discover")
        /// 消息
        let messageVC = CZMessageViewController()
        addChildViewController(messageVC, title: "消息", imageName: "tabbar_message_center")
        /// 我
        let profileVC = CZProfileViewController()
        addChildViewController(profileVC, title: "我", imageName: "tabbar_profile")
    }
    /**
     添加为tabBar的子控制器－－里面设置子控制器的各种操作
     
     - parameter Controller: 控制器
     - parameter title:      标题
     - parameter imageName:  图片名称
     */
    func addChildViewController(controller: UITableViewController,title:String,imageName:String) {
        //控制器Item标题
        controller.title = title
        controller.tabBarItem.image = UIImage(named:imageName)//Item图片
//        let imageNameH = imageName + "_highlighted"//拼接图片呢名称
        //高亮图片
        controller.tabBarItem.selectedImage = UIImage(named:imageName + "_highlighted")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
        controller.tabBarItem.setTitleTextAttributes([NSForegroundColorAttributeName : UIColor.blackColor()], forState: UIControlState.Selected)
        //添加
        addChildViewController(UINavigationController(rootViewController: controller))//把tabelView控制器包装成导航控制器再添加到主要的tabBar父控制器
    }
}

//MARK:-extension扩展，可以在扩展里实现协议
//
//extension CZMainController : CZMainTabBarDelegate {
//    
//}
